package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单管理对象 order
 * 
 * @author ruoyi
 * @date 2023-05-10
 */
public class Order extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单id */
    private Long id;

    /** 订单类型(1、酒店  2、机票  3、火车票  4、租车) */
    @Excel(name = "订单类型(1、酒店  2、机票  3、火车票  4、租车)")
    private Long orderType;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long cityId;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idNumber;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 出行人手机号 */
    @Excel(name = "出行人手机号")
    private Long phoneNumber;

    /** 酒店名 */
    @Excel(name = "酒店名")
    private String hotelName;

    /** 酒店位置 */
    @Excel(name = "酒店位置")
    private Long hotelAddress;

    /** 房间id */
    @Excel(name = "房间id")
    private Long hotelRoomType;

    /** 入住时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入住时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkInTime;

    /** 退房时间 */
    @Excel(name = "退房时间")
    private Long checkOutTime;

    /** 房间数量 */
    @Excel(name = "房间数量")
    private Long roomCount;

    /** 住客名 */
    @Excel(name = "住客名")
    private Long guestName;

    /** 邮件 */
    @Excel(name = "邮件")
    private String email;

    /** 预计到店时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计到店时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expectTime;

    /** 特别要求 */
    @Excel(name = "特别要求")
    private Long specialRequirement;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long carPackageId;

    /** 租车起始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "租车起始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date carStartTime;

    /** 租车结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "租车结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date carStopTime;

    /** 驾驶人 */
    @Excel(name = "驾驶人")
    private String driverName;

    /** 订单状态(1、未付款  2、已付款  3、已取消  4、已完成) */
    @Excel(name = "订单状态(1、未付款  2、已付款  3、已取消  4、已完成)")
    private Long status;

    /** 总价 */
    @Excel(name = "总价")
    private Long totalPrice;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setOrderType(Long orderType) 
    {
        this.orderType = orderType;
    }

    public Long getOrderType() 
    {
        return orderType;
    }
    public void setCityId(Long cityId) 
    {
        this.cityId = cityId;
    }

    public Long getCityId() 
    {
        return cityId;
    }
    public void setIdNumber(String idNumber) 
    {
        this.idNumber = idNumber;
    }

    public String getIdNumber() 
    {
        return idNumber;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setPhoneNumber(Long phoneNumber) 
    {
        this.phoneNumber = phoneNumber;
    }

    public Long getPhoneNumber() 
    {
        return phoneNumber;
    }
    public void setHotelName(String hotelName) 
    {
        this.hotelName = hotelName;
    }

    public String getHotelName() 
    {
        return hotelName;
    }
    public void setHotelAddress(Long hotelAddress) 
    {
        this.hotelAddress = hotelAddress;
    }

    public Long getHotelAddress() 
    {
        return hotelAddress;
    }
    public void setHotelRoomType(Long hotelRoomType) 
    {
        this.hotelRoomType = hotelRoomType;
    }

    public Long getHotelRoomType() 
    {
        return hotelRoomType;
    }
    public void setCheckInTime(Date checkInTime) 
    {
        this.checkInTime = checkInTime;
    }

    public Date getCheckInTime() 
    {
        return checkInTime;
    }
    public void setCheckOutTime(Long checkOutTime) 
    {
        this.checkOutTime = checkOutTime;
    }

    public Long getCheckOutTime() 
    {
        return checkOutTime;
    }
    public void setRoomCount(Long roomCount) 
    {
        this.roomCount = roomCount;
    }

    public Long getRoomCount() 
    {
        return roomCount;
    }
    public void setGuestName(Long guestName) 
    {
        this.guestName = guestName;
    }

    public Long getGuestName() 
    {
        return guestName;
    }
    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }
    public void setExpectTime(Date expectTime) 
    {
        this.expectTime = expectTime;
    }

    public Date getExpectTime() 
    {
        return expectTime;
    }
    public void setSpecialRequirement(Long specialRequirement) 
    {
        this.specialRequirement = specialRequirement;
    }

    public Long getSpecialRequirement() 
    {
        return specialRequirement;
    }
    public void setCarPackageId(Long carPackageId) 
    {
        this.carPackageId = carPackageId;
    }

    public Long getCarPackageId() 
    {
        return carPackageId;
    }
    public void setCarStartTime(Date carStartTime) 
    {
        this.carStartTime = carStartTime;
    }

    public Date getCarStartTime() 
    {
        return carStartTime;
    }
    public void setCarStopTime(Date carStopTime) 
    {
        this.carStopTime = carStopTime;
    }

    public Date getCarStopTime() 
    {
        return carStopTime;
    }
    public void setDriverName(String driverName) 
    {
        this.driverName = driverName;
    }

    public String getDriverName() 
    {
        return driverName;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setTotalPrice(Long totalPrice) 
    {
        this.totalPrice = totalPrice;
    }

    public Long getTotalPrice() 
    {
        return totalPrice;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderType", getOrderType())
            .append("cityId", getCityId())
            .append("idNumber", getIdNumber())
            .append("name", getName())
            .append("phoneNumber", getPhoneNumber())
            .append("hotelName", getHotelName())
            .append("hotelAddress", getHotelAddress())
            .append("hotelRoomType", getHotelRoomType())
            .append("checkInTime", getCheckInTime())
            .append("checkOutTime", getCheckOutTime())
            .append("roomCount", getRoomCount())
            .append("guestName", getGuestName())
            .append("email", getEmail())
            .append("expectTime", getExpectTime())
            .append("specialRequirement", getSpecialRequirement())
            .append("carPackageId", getCarPackageId())
            .append("carStartTime", getCarStartTime())
            .append("carStopTime", getCarStopTime())
            .append("driverName", getDriverName())
            .append("status", getStatus())
            .append("totalPrice", getTotalPrice())
            .toString();
    }
}
